package com.dianrui.qiyouriding.update.utils;

import android.text.TextUtils;

import com.dianrui.qiyouriding.Constant;
import com.xuexiang.xupdate.XUpdate;
import com.xuexiang.xupdate.entity.CheckVersionResult;
import com.xuexiang.xupdate.entity.UpdateEntity;
import com.xuexiang.xupdate.proxy.impl.AbstractUpdateParser;
import com.xuexiang.xupdate.utils.UpdateUtils;

import org.json.JSONObject;


public class MainUpdateParser extends AbstractUpdateParser {
    @Override
    public UpdateEntity parseJson(String json) throws Exception {
        if (!TextUtils.isEmpty(json)) {
            JSONObject jsonObject = new JSONObject(json);
            if (jsonObject != null) {
                if (Constant.DATASUCCESS.equals(jsonObject.optString("status"))) {
                    UpdateEntity updateEntity = new UpdateEntity();
                    updateEntity.setHasUpdate(true)
                            .setUpdateContent(jsonObject.optJSONObject("data").optString("explain"))
                            .setDownloadUrl(jsonObject.optJSONObject("data").optString("store_url"))
                            .setVersionName(jsonObject.optJSONObject("data").optString("version_name"));
                    return updateEntity;
                }
            }


        }
        return null;
    }

    /**
     * 进行本地版本判断[防止服务端出错，本来是不需要更新，但是服务端返回是需要更新]
     *
     * @param checkResult
     * @return
     */
    private CheckVersionResult doLocalCompare(CheckVersionResult checkResult) {
        if (checkResult.getUpdateStatus() != CheckVersionResult.NO_NEW_VERSION) { //服务端返回需要更新
            int lastVersionCode = checkResult.getVersionCode();
            if (lastVersionCode <= UpdateUtils.getVersionCode(XUpdate.getContext())) { //最新版本小于等于现在的版本，不需要更新
                checkResult.setRequireUpgrade(CheckVersionResult.NO_NEW_VERSION);
            }
        }
        return checkResult;
    }
}
